package com.ruoyi.personnel.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 会员管理对象 e_personnel
 *
 * @author ruoyi
 * @date 2024-11-21
 */
@Data
public class EPersonnel extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    @Excel(name = "主键")
    private Long id;

    /** 会员类型(0是快递员，1是普通会员) */
    @Excel(name = "会员类型(0是快递员，1是普通会员)")
    private Long memberType;

    /** 头像 */
    @Excel(name = "头像")
    private String avatar;

    /** 真实姓名 */
    @Excel(name = "真实姓名")
    private String name;

    /** 手机号 */
    @Excel(name = "手机号")
    private String phone;

    /** 注册类型(0是自主注册，1是手工创建) */
    @Excel(name = "注册类型(0是自主注册，1是手工创建)")
    private Long registrationType;

    /** 快递公司 */
    @Excel(name = "快递公司")
    private String courierCompany;

    /** 创建时间 */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date createTime;

    /*开始时间*/
    @TableField(exist=false)
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date startTime;

    /*结束时间*/
    @TableField(exist=false)
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date endTime;

    /** 注册IP */
    @Excel(name = "注册IP")
    private String registeredIp;

    /** 会员余额 */
    @Excel(name = "会员余额")
    @TableField(exist=false)
    private BigDecimal memberBalance;

    /** 实名认证状态(0是未认证，1是已认证) */
    @Excel(name = "实名认证状态(0是未认证，1是已认证)")
    private Long realNameAuthenticationStatus;

    /** 状态(0是禁用，1是正常) */
    @Excel(name = "状态(0是禁用，1是正常)")
    private Long status;

    /** 登录信息外键 */
    @Excel(name = "登录信息外键")
    private Long lid;

    /*登录密码*/
    @TableField(exist = false)
    private String loginPassword;

    /*支付密码*/
    @TableField(exist=false)
    private String paymentPassword;

    /*登录密码状态*/
    @TableField(exist = false)
    private Long loginPasswordStatus;

    /*支付密码状态*/
    @TableField(exist = false)
    private Long paymentPasswordStatus;

    /*最近登录时间*/
    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date loginTime;

    /*余额*/
    @TableField(exist = false)
    private BigDecimal totalBalance;

    /*账户状态*/
    @TableField(exist=false)
    private BigDecimal accountStatus;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setMemberType(Long memberType)
    {
        this.memberType = memberType;
    }

    public Long getMemberType()
    {
        return memberType;
    }

    public void setAvatar(String avatar){this.avatar=avatar;}

    public String getAvatar(){return avatar;}

    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }
    public void setPhone(String phone)
    {
        this.phone = phone;
    }

    public String getPhone()
    {
        return phone;
    }
    public void setRegistrationType(Long registrationType)
    {
        this.registrationType = registrationType;
    }

    public Long getRegistrationType()
    {
        return registrationType;
    }
    public void setCourierCompany(String courierCompany)
    {
        this.courierCompany = courierCompany;
    }

    public String getCourierCompany()
    {
        return courierCompany;
    }

    public void setCreateTime(Date createTime){ this.createTime=createTime; }

    public Date getCreateTime(){ return createTime; }

    public void setRegisteredIp(String registeredIp)
    {
        this.registeredIp = registeredIp;
    }

    public String getRegisteredIp()
    {
        return registeredIp;
    }
    public void setMemberBalance(BigDecimal memberBalance)
    {
        this.memberBalance = memberBalance;
    }

    public BigDecimal getMemberBalance()
    {
        return memberBalance;
    }
    public void setRealNameAuthenticationStatus(Long realNameAuthenticationStatus)
    {
        this.realNameAuthenticationStatus = realNameAuthenticationStatus;
    }

    public Long getRealNameAuthenticationStatus()
    {
        return realNameAuthenticationStatus;
    }
    public void setStatus(Long status)
    {
        this.status = status;
    }

    public Long getStatus()
    {
        return status;
    }
    public void setLid(Long lid)
    {
        this.lid = lid;
    }
    public Long getLid()
    {
        return lid;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("memberType", getMemberType())
            .append("avatar", getAvatar())
            .append("name", getName())
            .append("phone", getPhone())
            .append("registrationType", getRegistrationType())
            .append("courierCompany", getCourierCompany())
            .append("createTime", getCreateTime())
            .append("registeredIp", getRegisteredIp())
            .append("memberBalance", getMemberBalance())
            .append("realNameAuthenticationStatus", getRealNameAuthenticationStatus())
            .append("status", getStatus())
            .append("lid", getLid())
            .toString();
    }
}
